💡 AI 인사이트

🤖 AI가 여기에 결과를 출력합니다...

댓글 커뮤니티

쿠팡이벤트

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

검색

    로딩 중이에요... 🐣

    [코담] 웹개발·실전 프로젝트·AI까지, 파이썬·장고의 모든것을 담아낸 강의와 개발 노트

    03 Django 기초 개념 및 애플리케이션 생성 | ✅ 편저: 코담 운영자

    Django 튜토리얼 #3 - Django 기초 개념 및 애플리케이션 생성


    🔗 소스


    1. 프로젝트 개요 및 목표

    • 새로운 프로젝트 WorldTour를 생성하고 그 안에 애플리케이션 asiatoursagency를 만들어 동작 테스트를 진행함
    • 주요 목표: HTML 문자열 응답 반환을 통한 기본 구조 이해

    2. 가상환경 진입 및 Django 설치

    pipenv shell
    pipenv install django
    
    • Pipfile과 Pipfile.lock이 자동 생성됨
    • 가상환경 내에서만 Django가 설치되어, 글로벌 환경에 영향을 주지 않음

    3. Django 프로젝트 생성

    django-admin startproject worldtour
    cd worldtour
    

    4. Django 앱 생성

    python manage.py startapp asiatoursagency
    
    • 애플리케이션 단위로 기능을 나누어 구성 가능 (예: asiatoursagency, europetours 등)

    5. 애플리케이션 구성 파일 설명

    • __init__.py: Python 패키지임을 나타냄 (비어 있어도 무방)
    • admin.py: 모델을 Django 관리자 페이지에 등록
    • apps.py: 애플리케이션 구성 클래스 설정
      • 예: AsiaToursAgencyConfig
    • models.py: 데이터베이스 모델 정의 (클래스 = 테이블, 필드 = 컬럼)
    • tests.py: 유닛 테스트 작성
    • views.py: 요청 처리 함수(또는 클래스)를 정의 (예: index)
    • migrations/: 모델 변경 이력을 담는 마이그레이션 파일 저장 폴더

    6. settings.py에 앱 등록

    # 방법 1: 문자열로 등록
    INSTALLED_APPS = [
        ...
        'asiatoursagency',
    ]
    
    # 방법 2: 구성 클래스 경로로 등록
    INSTALLED_APPS = [
        ...
        'asiatoursagency.apps.AsiaToursAgencyConfig',
    ]
    
    • 2번 방식 권장: 더 명확하고 향후 앱 구성이 복잡해질 때 유리함

    7. views.py 작성

    from django.shortcuts import render
    from django.http import HttpResponse
    
    # Create your views here.
    def index(request):
        return HttpResponse("Asia Tours Agency")
    
    • HttpResponse를 사용해 문자열을 반환하는 기본 View 함수 정의
    • 현재는 단순 텍스트를 반환하지만, 이후 HTML 템플릿으로 대체될 예정

    8. 앱 내부에 urls.py 생성

    from django.urls import path
    from . import views
    
    # Define a list of url patterns
    urlpatterns = [
        path('', views.index)
    ]
    
    • 앱 내부에서 view(index)와 연결된 URL 경로를 정의함
    • 빈 문자열 ''은 루트 경로 (/)를 의미하며, 해당 요청이 들어오면 views.index를 실행

    9. 프로젝트 urls.py에 앱의 URL 연결

    from django.contrib import admin
    from django.urls import path, include
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('', include('asiatoursagency.urls')),
    ]
    
    • include() 함수는 앱의 urls.py를 메인 url 설정에 연결하는 역할
    • 루트 경로에 접속 시 asiatoursagency.urls의 URL 설정이 동작함
    • include 함수는 상단에 from django.urls import include로 반드시 import 해야 함

    10. 개발 서버 실행 및 결과 확인

    python manage.py runserver
    
    • 브라우저에서 http://127.0.0.1:8000 접속 시 “Asia Tours Agency”라는 텍스트가 출력됨

    💡 현재는 문자열이 그대로 출력되며 HTML 구조는 갖추지 않음. 추후 templates/index.html을 구성하여 페이지 렌더링 예정


    디렉터리 구조 확인 (실제 기준)

    lesson3-DjangoApp/
    ├── worldtour/
    │   ├── asiatoursagency/
    │   │   ├── migrations/
    │   │   ├── __init__.py
    │   │   ├── admin.py
    │   │   ├── apps.py
    │   │   ├── models.py
    │   │   ├── tests.py
    │   │   ├── urls.py
    │   │   └── views.py
    │   ├── worldtour/
    │   │   ├── __init__.py
    │   │   ├── asgi.py
    │   │   ├── settings.py
    │   │   ├── urls.py
    │   │   └── wsgi.py
    │   ├── db.sqlite3
    │   ├── manage.py
    ├── Pipfile
    ├── Pipfile.lock
    

    다음 강의 예고

    • 마이그레이션과 데이터베이스 연동, 모델 정의 및 admin 등록 진행 예정
    TOP
    preload preload